package com.example.springbootsqlite.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.springbootsqlite.model.User;

/**
 * @author cphovo
 * create datetime 2022/6/13 23:11
 */
public interface UserMapper extends BaseMapper<User> {
    /**
     * 注：为什么用 BaseMapper 中的 insert 方法 id 会变成随机的呢？很奇怪
     *    使用mybatis-plus的insert方法，在底层会默认生成一个Long类型的UUID，导致 id 变为随机的
     * 解决办法：
     *    在实体类id上面加一个注解
     *    @TableId(value = “id”,type = IdType.INPUT)
     *    或
     *    @TableId(value = “id”,type = IdType.AUTO)
     *
     * 总结：
     * 1、@KeySequence 与 业务主键的 setId(XXX) 互斥
     *   - 若要使用业务主键，就删除@KeySequence
     *   - 若使用数据自生成的主键就仅仅使用@KeySequence
     *
     * 2、@KeySequence type = IdType.INPUT 优先级高于 setId(XXX) 主键的设置方式
     */
}
